package com.ycsj.common.manager;

import android.support.v4.view.ViewPager;

import com.ycsj.common.base.GlideImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;

import java.util.List;

/**
 * 创建日期：2017/8/15  15:30
 * 描述: 轮播图的管理类
 * 作者:张伟
 */

public class BannerManager {

    /**
     * 设置本地图片的方法
     *
     * @param banner
     * @param bannerUrls
     * @param transformer
     */
    public static void setDataLocal(Banner banner, List<Integer> bannerUrls, Class<? extends ViewPager.PageTransformer> transformer) {
        banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
        //设置图片加载器
        banner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        banner.setImages(bannerUrls);
        //设置banner动画效果
//        banner.setBannerAnimation(Transformer.RotateUp);
        banner.setBannerAnimation(transformer);
        //设置标题集合（当banner样式有显示title时）
//        banner.setBannerTitles(list_title);
        //设置自动轮播，默认为true
        banner.isAutoPlay(true);
        //设置轮播时间
        banner.setDelayTime(3000);
        //设置指示器位置（当banner模式中有指示器时）
        banner.setIndicatorGravity(BannerConfig.CENTER);
        //先停止一次在开始滚动
        banner.releaseBanner();

        //先停止自动滚动在开启
//        banner.stopAutoPlay();

        //banner设置方法全部调用完毕时最后调用
        banner.start();
    }

    /**
     * 设置网络图片的方法
     *
     * @param banner      轮播图控件
     * @param hasInit     是否已经初始化,传入true表示没有初始化, 传入false表示已经初始化
     * @param bannerUrls  轮播图的图片地址集合
     * @param transformer 轮播图的切换样式
     */
    public static void setData(Banner banner, boolean hasInit, List<String> bannerUrls, Class<? extends ViewPager.PageTransformer> transformer) {
        if (bannerUrls != null && bannerUrls.size() != 0) {

            if (hasInit) {
                banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//            banner.setBannerStyle(BannerConfig.NOT_INDICATOR);
                //设置图片加载器
                banner.setImageLoader(new GlideImageLoader());
                //设置banner动画效果
                banner.setBannerAnimation(transformer);
                //设置标题集合（当banner样式有显示title时）
//        banner.setBannerTitles(list_title);
                //设置自动轮播，默认为true
                banner.isAutoPlay(true);
                //设置轮播时间
                banner.setDelayTime(4000);
                //设置指示器位置（当banner模式中有指示器时）
                banner.setIndicatorGravity(BannerConfig.CENTER);
            }

            //设置图片集合
            banner.setImages(bannerUrls);

            //先停止自动滚动在开启
            banner.stopAutoPlay();

            //banner设置方法全部调用完毕时最后调用
            banner.start();
        }
    }
}
